@keyframes bounce-scale {
  0% {
    transform: scale(0.7);
    opacity: 0.5;
  }
  60% {
    transform: scale(1.1);
    opacity: 1;
  }
  80% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes movement {
  0% {
    background-size:
      120vmax 120vmax,
      90vmax 90vmax,
      100vmax 100vmax,
      110vmax 110vmax,
      90vmax 90vmax;
    background-position:
      -70vmax -70vmax,
      50vmax -30vmax,
      10vmax 10vmax,
      -30vmax -10vmax,
      40vmax 40vmax;
  }
  25% {
    background-size:
      100vmax 100vmax,
      95vmax 95vmax,
      105vmax 105vmax,
      100vmax 100vmax,
      70vmax 70vmax;
    background-position:
      -60vmax -80vmax,
      45vmax -35vmax,
      5vmax -10vmax,
      -35vmax -15vmax,
      35vmax 45vmax;
  }
  50% {
    background-size:
      90vmax 90vmax,
      105vmax 105vmax,
      90vmax 90vmax,
      80vmax 80vmax,
      85vmax 85vmax;
    background-position:
      -55vmax -65vmax,
      40vmax -25vmax,
      10vmax 0vmax,
      15vmax 5vmax,
      30vmax 55vmax;
  }
  75% {
    background-size:
      95vmax 95vmax,
      95vmax 95vmax,
      110vmax 110vmax,
      95vmax 95vmax,
      75vmax 75vmax;
    background-position:
      -50vmax -35vmax,
      50vmax -30vmax,
      20vmax 5vmax,
      -10vmax 15vmax,
      35vmax 50vmax;
  }
  100% {
    background-size:
      120vmax 120vmax,
      90vmax 90vmax,
      100vmax 100vmax,
      110vmax 110vmax,
      90vmax 90vmax;
    background-position:
      -70vmax -70vmax,
      50vmax -30vmax,
      10vmax 10vmax,
      -30vmax -10vmax,
      40vmax 40vmax;
  }
}

@keyframes rain-fall {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 30px;
  }
}

@keyframes snow-fall {
  0% {
    background-position:
      0 0,
      50px 50px,
      100px 100px;
  }
  100% {
    background-position:
      0 1000px,
      50px 1050px,
      100px 1100px;
  }
}
